// components/new-user-iten/index.js
let url_js = require("../../utils/url.js");
let common_js = require("../../utils/common.js");

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    info: {
      type: Object,
      value: null
    }
  },

  observers: {
    'info': function (item) {
      //如果需要开启定时器
      if (item) {
        // 开启倒计时
        this.initTimerObj(item);
        //显示
        this.setData({
          hidden: false
        })
      } else {
        this.clearTimer();
        //显示
        this.setData({
          hidden: true
        })
      }
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    hidden: true,
    timerObj: {
      timerId: null,
      isEnd: false,
      endTime: '',
      item: null
    },
    couponGg1ImgUr: url_js.imgUrl + "index_xr-bg1.png",
    couponGg2ImgUr: url_js.imgUrl + "index_xr-bg2.png",
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 初始化
    initTimerObj(item) {
      if (item.expire <= 0) return;
      let tmpTimerObj = this.data.timerObj;
      if (item.expire > 0) {
        tmpTimerObj.endTime = new Date().getTime() + item.expire * 1000;
      }
      //set dasta
      this.setData({
        timerObj: tmpTimerObj
      });
      // 开启计时器
      this.countDownTimer();
    },
    // 计时器**********
    countDownTimer() { //倒计时函数
      // 获取当前时间，同时得到活动结束时间数组
      let newTime = new Date().getTime();
      let tmpTimerObj = this.data.timerObj;
      let endTime = tmpTimerObj.endTime;
      let time = (endTime - newTime) / 1000;
      // 如果活动未结束，对时间进行处理
      let hmsObj = common_js.getHrMinSecBySecond(time);
      tmpTimerObj.item = hmsObj.item;
      tmpTimerObj.isEnd = hmsObj.isEnd;
      // 先清除计时器
      this.clearTimer();
      //1s调用一次
      let that = this;
      let timerId = setTimeout(function () {
        that.countDownTimer();
      }, 1000);
      tmpTimerObj.timerId = timerId;
      // 渲染，然后每隔一秒执行一次倒计时函数
      this.setData({
        timerObj: tmpTimerObj
      })
      // 清除
      if (tmpTimerObj.isEnd) {
        this.clearTimer();
        // 隐藏页面
        this.setData({
          hidden: true
        });
      }
    },
    // 清除计时器
    clearTimer() {
      if (this.data.timerObj.timerId) {
        clearTimeout(this.data.timerObj.timerId);
        this.data.timerObj.timerId = null;
      }
    },

    // 点击商品
    onGoodsItem(e) {
      let index = e.currentTarget.dataset.index;
      let goodsItem = this.data.info.productList[index];
      this.triggerEvent('clickgoods', {
        item: goodsItem
      }, null);
    },

    // 查看全部 ---进去新人专项详情页面
    onCheckAll() {
      this.triggerEvent('godetail', null, null);
    }
  }
})